<!DOCTYPE html>
<html lang="zh-cn">
  <head>
    <meta charset="UTF-8">
    <title>Sucha's Blog - Archive for April, 2006</title>
    <meta name="generator" content="MarkdownProjectCompositor.lua">
    <meta name="author" content="Sucha">
    <meta name="keywords" content="suchang, programming, Linux, Lua">
    <meta name="description" content="Sucha's blog">
    <link rel="shortcut icon" href="../images/ico.png">
    <link rel="stylesheet" type="text/css" href="../styles/blog.css">
    <link rel="stylesheet" type="text/css" href="../styles/prism.min.css">
    <style id="site_theme"></style>
  </head>
  <body>
    <div id="body">
      <div id="text">
	   <!-- Page published by cmark-gfm begins here --><h1>Sucha's Blog ~ Archive for April, 2006</h1>
<p><a id="p10"></a></p>
<div class="date">4月29日 周六 23:46</div>
<h2>无题</h2>
<p>这两天是校内 robocup 公开赛，我们寝室共放出了四个队参与角逐，到今天下午，
小组循环赛终于结束，可怜的我们，最后只有一个队进入了第二轮。我们那个小组
直到最后一场比赛才确定哪些组出线，我 0:3 失利，无缘下一轮……</p>
<p>虽说是校内比赛，总共只有 20 个队伍，参加的大部分是本已在实验室进行
robocup 校队 2D 以及 3D 比赛的同学，像我们这样非实验室人员只有 4 人，然后
4 个人中只有一人最终进入了下一轮。</p>
<p>我的球队其实就是上个学期选修 robocup 课程多个实验综合的“结晶”，本来还想
做点什么修改的，但是在最后这几天的修改中发现越改越差，最后放弃，决定还是
将原来那个球队放上去算了。5 个队的小组中，我竟然还一胜一平一负（确定不能
出线后，我消失了，最后一场比赛结果未知），算是基本完成任务，没有全败，嘿
嘿。</p>
<p>学校五一法定放假 7 天，加上周末我们还有八天假，往年放假七天而实际上东挪西
补节后连上两周课的习俗就这样结束，包括我们以及老师在内的都一脸惊讶，上课
那时老师就说他打了电话问了教务处，对方回答“按字面理解”，原来这在以前是另
有释义的。</p>
<p>今晚有三人生日共聚的大餐，本来我们早在周四就定下了包间，来得还算准时，以
为一切都已搞定，只剩坐等闲聊。但是可恶的商家竟然在我们坐下将近一个小时后
都没有上菜，在我们催促 N 次，饿得几近倒下的情况下，居然说出了丢失菜单这种
愚蠢的话。OK，明显自己给自己掉价，还说什么免费赠送一盘素菜来赔礼，好像真
的有谁很稀罕似的。我们也没有纠缠，立马走人，不摔东西骂人已经很君子了。</p>
<p>好在后来又找到了不错的饭馆，要不然真是气，就这样白白走掉真是可惜，找个经
理来骂一顿都好。</p>
<p>这个五一没有出行的计划，寝室里大部分的人要考研，都怕自己太过散心，没有过
于大胆的打算，再说去年十一黄山之行已经让人心里发寒，节假日还是躲着吧。</p>
<div class="category"><a href="CategoryLife.html">CategoryLife</a> / <a href="2006-04.html#p10">Permalink</a> / <a href="https://github.com/lalawue/homepage/discussions/categories/blog" target="_blank">Discussion</a></div>
<!-- date: 2006-04-29T23:46:00+0800 -->
<p><a id="p9"></a></p>
<div class="date">4月26日 周三 23:27</div>
<h2>Opera 9.0 beta</h2>
<p>嘿嘿，试用中。粗浅的感觉：</p>
<ul>
<li>tab 中多了个 OperaWigets，里面种功能的小东东太多了，天气、
RSS、新闻……什么都有。</li>
<li>RSS 中多了新功能，以前的 RSS 虽结合在 Mail 的管理中，但是感觉做得很粗
糙，现在好多了，能显示源作者的地址和发布的本地具体时间，感觉就像读来
信一样，好棒。</li>
</ul>
<p>期待 release，哈哈。</p>
<div class="category"><a href="CategoryLinux.html">CategoryLinux</a> / <a href="2006-04.html#p9">Permalink</a> / <a href="https://github.com/lalawue/homepage/discussions/categories/blog" target="_blank">Discussion</a></div>
<!-- date: 2006-04-26T23:27:05+0800 -->
<p><a id="p8"></a></p>
<div class="date">4月26日 周三 17:13</div>
<h2>别闹了, 费曼先生</h2>
<p>这是一部非常有意思的传记，没想到科学家的故事如此吸引人。</p>
<p>我觉得最有意思的，是他在罗拉沙摩思参加原子弹研制工作的时候干的事情，在游
戏中钻研开锁技术，这当初只是为了证明机构的保密工作太差，在手艺不断精湛的
同时，曾帮了机构的大忙，最后成了那里的开锁英雄。</p>
<p>让我记忆清晰的还有同一个油漆匠打赌的故事。费曼说他小时候很崇拜诸如钢
铁工人和或是焊工那样的“真正的男人”，一次，他到了一家餐馆跟一个漆匠闲扯，
漆匠说只用红和白就可以调出黄色，如此地肯定，连餐馆老板都在笑，一个臭书生，
另外一个是和油漆打了一辈子交道的漆匠，答案不言自明。费曼是搞理论物理的，
说自己一辈子都在研究光，没见过漆匠说过的故事，但是又不好反驳什么，于是自
己跑到杂货商店买了油漆，让漆匠实现自己说过的话。后面的故事谁都猜得到，漆
匠让自己很难堪。这个故事的标题是“真正的男子汉”，嘿嘿，知识的力量……</p>
<p>费曼在自己传记里的最后一篇文章是教导人们如何做科学研究的，举了很多当年他
那个年代里所谓“科学工作者”们的错误做法，费曼把他们通通称为“草包族科学”。</p>
<p>这本书<a href="http://www.oursci.org/libarchive.htm">三思科学网站藏书架</a>有中文版下载，很值得一看。</p>
<div class="category"><a href="CategoryReading.html">CategoryReading</a> / <a href="2006-04.html#p8">Permalink</a> / <a href="https://github.com/lalawue/homepage/discussions/categories/blog" target="_blank">Discussion</a></div>
<!-- date: 2006-04-26T17:13:18+0800 -->
<p><a id="p7"></a></p>
<div class="date">4月22日 周六 21:05</div>
<h2>版本更新 CURRENT</h2>
<p>Linux 下面上了网，就老是蠢蠢欲动，想将整个版本升至 current，前段时间只是
断断续续的下 current 包，昨天终于将整个系统包括 kernel 都 current 了。不
过走了一些弯路，于是总结了一些经验：</p>
<ul>
<li>和将整个系统升级到其他的全新版本一样，先升级 sed-*，然后升级
glibc-*，不过这几步得在 init 1 下完成(# telinit 1)</li>
<li>其他的包就可以一路 ok 了</li>
<li>alsa 的包应和内核的包匹配，也就是更新 alsa 后得顺便更新 kernel，
alsa 才能正常工作(# alsaconfig)</li>
<li>重新安装 nvidia 的驱动需要内核头文件和源码</li>
<li>$ xwmconfig 可选的窗口管理器必须在 /usr/X11R6/bin 下有执行文件，其
系统启动配置在 /etc/X11/xinit</li>
</ul>
<p>由于我的系统是从 10.0、10.1、10.2 然后是 current 紧跟着发行版一步一步升级
过来的，系统内还保留有 gnome 的包，而最新的 Slackware 已经将gnome 去掉了，
所以原来配置使用 gdm 作为图形化的登录管理器在升级current 后无法工作，而
kdeadmin 也是个大块头，于是决定使用稍微丑陋点的xdm，但是系统自配的 fvwm
版本太低，才 4.19，十分不爽，而用checkinstall 打的包用 xwmconfig 却无法找
到自己编译的 fvwm，稍微研究了一下，得出了最后的一条规律。</p>
<div class="category"><a href="CategoryLinux.html">CategoryLinux</a> / <a href="2006-04.html#p7">Permalink</a> / <a href="https://github.com/lalawue/homepage/discussions/categories/blog" target="_blank">Discussion</a></div>
<!-- date: 2006-04-22T21:05:31+0800 -->
<p><a id="p6"></a></p>
<div class="date">4月18日 周二 18:39</div>
<h2>配置文件的备份</h2>
<p>很久之前就想写个 shell 脚本来备份一些重要的数据和配置文件，今天突然灵机一
动，干嘛不使用 CVS 来管理呢？</p>
<p>有些配置文件几乎每天都有改动，如果使用 shell 脚本来做备份，冗余太大，而且
要是出错了也不好恢复。把这件事情交给 CVS 就轻松多了，每次改动都有记录，不
必担心出了错无法恢复，而且是增量备份，冗余少多了。</p>
<p>我只需把配置文件集中起来，存到 CVS 仓库里面去，每当对一些配置做了改动后，
$ cvs ci 即可，异常简单。我还写了个 Makefile 文件，每次改动后，只需敲击
$ make 就可以将配置文件 cp 到它们应该存放的地方。集中的好处还在于便于做完
全备份，tar -cjf 打个包，一个命令就搞定了，存到我的 U 盘里，天塌了都不怕。</p>
<p>嘿嘿，这下还不放心，:)</p>
<div class="category"><a href="CategoryLinux.html">CategoryLinux</a> / <a href="2006-04.html#p6">Permalink</a> / <a href="https://github.com/lalawue/homepage/discussions/categories/blog" target="_blank">Discussion</a></div>
<!-- date: 2006-04-18T18:39:56+0800 -->
<p><a id="p5"></a></p>
<div class="date">4月17日 周一 23:41</div>
<h2>Notitle</h2>
<p>学校一声不吭的升级路由器，我们就这样断了两天网。</p>
<p>记得上个星期刚搞好 mystar 的时候，mutt 里面长达两百多封信件，:) 刚开始只
有几封，我就一封一封的删，直到我的速度再也赶不上 fetchmail 的收信速度……</p>
<p>没想到今天换成了 RSS feed。这两天学习过于认真，连新闻都没来得及看，积累下
了近二十封的 feed，连看新闻都觉得累了。</p>
<div class="category"><a href="CategoryLife.html">CategoryLife</a> / <a href="2006-04.html#p5">Permalink</a> / <a href="https://github.com/lalawue/homepage/discussions/categories/blog" target="_blank">Discussion</a></div>
<!-- date: 2006-04-17T23:41:24+0800 -->
<p><a id="p4"></a></p>
<div class="date">4月14日 周五 12:22</div>
<h2>Fun, :)</h2>
<p>刚刚想起了个坏点子，可以让 FVWM 在启动的时候，顺便 xine -R 使用 root
window，也就是桌面来播放视频，这样我的动态桌面背景不就实现了吗，:)</p>
<p>这几天搞好了上网，就一直半颓废着，学着搞 gnus，上新闻组真是棒，但是用
它写信觉得太麻烦，虽然 bbdb 很是好用（其实联系人不多的话，mutt+alias
也很不错的），但是 gnus+smtp.el 发出去的信信头信息太少了，连 charset 都没有，
乱码是无可避免的，郁闷的是暂时还不懂设置。</p>
<p>gnus 上新闻组实在太强了，但就是启动太慢，于是下了 leafnode，安装也快，
但是修改了 /etc/inetd.conf 加入 nntp 网络服务，然后启动 inetd 让 tcpd
和 leafnode 作为本地网络服务的时候出现了问题，inetd 一直不能启动，真是
让人摸不着头脑。</p>
<p>因为也有用 slap-get current Slackware，所以也搞不清楚是不是 current 的
原因，让一些软件不稳定了。可是 gnus 还是要用的，于是试着找看有没有只是
fetch news 的软件，可是找到的都是旧东西，新出的都和 leafnode 差不多，
作为一两个人用的小型 news server，专供本地服务，也要 tcpd 或者
tcpserver 和 inetd，让人真是泄气。</p>
<p>就这样忙了几乎一天，到了晚上断网前检查 /etc/inetd.conf 的时候突然发现
原来是新添加的 nntp 的原因，注释之后 inetd 启动正常，而去掉注释后
inetd 就启动不了。那个语句是我从网上直接粘贴过来的，于是仔细检查了下，
发现中间的空格占两个字符，怪不得，真郁闷。</p>
<p>以前抱怨 Linux 下上不了网，搞什么东西都不放便，浪费时间，现在上了网，
浪费的时间反而更多了，这是个问题。</p>
<div class="category"><a href="CategoryLinux.html">CategoryLinux</a> / <a href="2006-04.html#p4">Permalink</a> / <a href="https://github.com/lalawue/homepage/discussions/categories/blog" target="_blank">Discussion</a></div>
<!-- date: 2006-04-14T12:22:37+0800 -->
<p><a id="p3"></a></p>
<div class="date">4月10日 周一 15:54</div>
<h2>嘿嘿, 可以上网了</h2>
<p>意料之中，也在意料之外。</p>
<p>之前曾经在 win 下抓过不少包，边看 Mystar 的代码边分析，然后作修改，不
过还是不能上网，每每 username valid 之后，password 认证不过，只能退出。</p>
<p>后来急了，就把自己在 win 下抓的包一股脑复制到 Mystar 的几个函数中，每
想到竟然可以上网了（有条件的），可是一到了 echo 这一步就出错，只能连
30s，勉强可以上传我修改过的主页文件。这样的情况下，我也没有多想，就急
着分析 echo 的机制，后来搞了蛮长的时间，曾经以为已经找到了规律，但是过
了一两天，规律又变了，觉得不应该这么分析，对协议都没有了解，如此鲁莽地
开始不行。</p>
<p>于是渐渐淡了这个念头，直到前几天在 <img src="HFUTBBS" alt="img"> 的程序设计版面上看到了
Hades(?) 兄弟放出的 Mento（来自 BYHH 的 Mento），眼睛一亮，觉得事情有了
转机。</p>
<p>刚好今天下午有时间，就开始一点一点的比较。Mystar 认证的时候是直到
password 认证这一步才出错的，前面的认证都没有问题。于是就将重点就在
<nop>SendPasswordPacket</nop> 这个函数上，头脑还是发热，没想那么多，直
接将 Mento 里的数据复制到 Mystar 里，晕死，这回是真的连上了。</p>
<p>看了十几分钟的校园网的 CCTV-5，都没有问题，看来这次是真的连上了，猜测
大概是我下载的 Mystar 版本太旧，其他原因就不得而知了。</p>
<div class="category"><a href="CategoryLinux.html">CategoryLinux</a> / <a href="2006-04.html#p3">Permalink</a> / <a href="https://github.com/lalawue/homepage/discussions/categories/blog" target="_blank">Discussion</a></div>
<!-- date: 2006-04-10T15:54:49+0800 -->
<p><a id="p2"></a></p>
<div class="date">4月8日 周六 23:46</div>
<h2>SCENE: 22</h2>
<p>Mark 一下，:)</p>
<p>这几天又在忙最让我头疼的实验报告，完全流于形式的东西。想不通，学校为什
么不在实验前就告诉我们实验报告的格式等等的东西，而且授课老师与实验指导
老师所要求又不一样，这不是为难人吗。</p>
<p>每次实验总是等到最后一刻才将实验的要求、报告纸啊等等发下来，然后让我们
在不长的一段时间内完成。还不如在实验之初就立下要求，这样一点点积累下来，
完成得肯定会比临时抱佛脚强。</p>
<p>明天本来要去紫蓬山的，可是跟上星期一样，到最后一刻又下雨了，然后计划打
漂。这两天搞实验报告实在不爽，决定明天休息去。</p>
<div class="category"><a href="CategoryLife.html">CategoryLife</a> / <a href="2006-04.html#p2">Permalink</a> / <a href="https://github.com/lalawue/homepage/discussions/categories/blog" target="_blank">Discussion</a></div>
<!-- date: 2006-04-08T23:46:11+0800 -->
<p><a id="p1"></a></p>
<div class="date">4月6日 周四 09:39</div>
<h2>自定义 Emacs-Wiki-Journal 首页记录数目</h2>
<p><a href="../cs/EmacsWikiJournal.html">cs#EmacsWikiJournal</a> 增加了新功能，可以自定义首页的记录数目了，也就是说在首页（固定页面）里，可以连续显示多个月份的记录了，从最新月份的记录起，一直排，达到指定的记录数目为止。</p>
<p>函数用了两个 while 循环来实现对存档文件的读取和记录数目的控制。先用 directory-files 函数来得到存档文件列表，然后打开最新（近）的文件，使用 write-region 函数将记录一条一条地 append 到首页中，同时记下复制的记录数目，重复上面的过程，直到达到指定的记录数目为止。</p>
<p>因为很久没接触 elisp 的缘故，写个函数都好费劲，后来函数成功后调试却费了不少心思，因为每次外部调试（非正式使用）都没有问题，但是一旦真正添加记录，就会出问题。搞了好久，后来才发现原来是自己太过粗心，将正在编辑的文件缓冲区都一并 kill 掉了，接下来的发布当然无法完成了。修改了下，应该没有问题了。</p>
<div class="category"><a href="CategoryProgramming.html">CategoryProgramming</a> / <a href="2006-04.html#p1">Permalink</a> / <a href="https://github.com/lalawue/homepage/discussions/categories/blog" target="_blank">Discussion</a></div>
<!-- date: 2006-04-06T09:39:24+0800 -->
<p><a id="p0"></a></p>
<div class="date">4月6日 周四 09:38</div>
<h2>改版喽</h2>
<p>为了纪念即将到来的某个节日，这几天花了好大的精力来对版面进行修改，先是将站点改成了多目录结构，借着 EmacsWiki 的多 projects 还比较容易实现，但是接下来的版面的设计却成了大问题，搞艺术真难。</p>
<p>普通页面往 blog 版面靠，加了导航栏，还改了背景颜色，把 blog 也综合进来了。可是，这算不算个进步呢，在想呢……</p>
<div class="category"><a href="CategoryThisSite.html">CategoryThisSite</a> / <a href="2006-04.html#p0">Permalink</a> / <a href="https://github.com/lalawue/homepage/discussions/categories/blog" target="_blank">Discussion</a></div>
<!-- date: 2006-04-06T09:38:02+0800 -->
<!-- Page published by cmark-gfm ends here -->
  <div id="foot">2004-<script>var d = new
	Date();document.write(d.getFullYear())</script> &copy;
	Sucha. Powered by MarkdownProjectCompositor.
  </div>
  </div><!-- text -->
  <div id="sidebar">
  </div><!-- sidebar -->
  <script src="../js/prism.min.js" async="async"></script>
  <script src="../js/blog_sidebar.js"></script>
  </div> <!-- body -->
</body>
</html>